/*
 * $Id: svc.h,v 1.2 2006-07-14 07:27:54 bacon Exp $
 */

#ifndef _XP_MSW_SVC_H_
#define _XP_MSW_SVC_H_

/* service type */
enum
{
	XP_SVC_FILE_SYSTEM_DRIVER  = (1 << 1),
	XP_SVC_KERNEL_DRIVER       = (1 << 2),
	XP_SVC_WIN32_OWN_PROCESS   = (1 << 3),
	XP_SVC_WIN32_SHARE_PROCESS = (1 << 4),
	XP_SVC_INTERACTIVE_PROCESS = (1 << 5),
};

/* start type */
enum
{
	XP_SVC_AUTO_START,
	XP_SVC_BOOT_START,
	XP_SVC_DEMAND_START,
	XP_SVC_DISABLED,
	XP_SVC_SYSTEM_START
};

/* service state */
enum
{
	XP_SVC_STOPPED = 1,
	XP_SVC_START_PENDING,
	XP_SVC_STOP_PENDING,
	XP_SVC_RUNNING,
	XP_SVC_RESUME_PENDING,
	XP_SVC_PAUSE_PENDING,
	XP_SVC_PAUSED
};

typedef struct xp_svcstatus_t xp_svcstatus_t;

struct xp_svcstatus_t
{
	int type;
	int state;
};

#endif
